CVE-2019-1388:通过 UAC 进行 Windows 提权
CVE-2019-1388:通过 UAC 进行 Windows 提权
CVE-2019-1388:通过 UAC 进行 Windows 提权
0x01 漏洞介绍
CVE-2019-1388 | Windows证书对话框特权提升漏洞发布时间:11/12/2019如果 Windows 证书对话框没有正确执行用户特权,则存在特权提升漏洞。成功利用此漏洞的攻击者可以在提升的环境中运行进程。然后,攻击者可能会安装程序,查看、更改或删除数据。要利用此漏洞,攻击者首先必须以普通用户权限登录系统。然后攻击者运行一个精心调制的应用,该应用可以利用此漏洞并控制受影响的系统。该安全更新通过确保 Windows 证书对话框正确执行用户特权来解决该漏洞。
0x02 漏洞原理
此漏洞是因为 UAC(用户账户控制)机制的设定不严导致的。
默认情况下, Windows 在称为「安全桌面」的单独桌面上显示所有 UAC 提示。提示本身是由名为 consent.exe 的可执行文件生成的,该可执行文件以 NT AUTHORITY\SYSTEM 身份运行并且有 System 的完整性水平。
https://leanote.com/api/file/getImage?fileId=5dd53e1aab644109b0001af6
由于用户可以与此安全桌面的 UI 进行交互,因此有必要对 UI 进行严格限制。否则,低特权用户可能能够通过 UI 操作的路由回路以 SYSTEM 的身份执行操作。甚至看起来无害的单独 UI 功能也可能是导致任意控制的一系列操作的第一步。
另一个需要了解的东西是 OID,如果在运行一个可执行文件的时候我们触发了 UAC,在点击「展示证书发行者的详细信息」这个链接之后:
https://leanote.com/api/file/getImage?fileId=5dd5412bab644109b0001b23
我们可以看到证书里的 Issued by 字段,这个字段对应的值就是 OID。
https://leanote.com/api/file/getImage?fileId=5dd5424eab64410bb1001bdc
注意对比下两图中 OID 的不同:
https://leanote.com/api/file/getImage?fileId=5dd542bdab64410bb1001be2
https://leanote.com/api/file/getImage?fileId=5dd542f7ab644109b0001b43
证书会解析 OID 的值,可能显示为超链接。但是 Windows 忘记禁用了 OID 处的超链接,这就给了我们提权的可能。
当 OID 为超链接时,通过点击此链接会触发 consent.exe 以 SYSTEM 权限打开浏览器访问此链接,然后此浏览器就会有 SYSTEM 权限。通过保存该浏览页面,会弹出微软的资源管理器,在资源管理器中邮件打开 cmd.exe 程序,就会继承浏览器的 SYSTEM 权限,由此就完成了由普通用户到 NT AUTHORITY\SYSTEM 用户的提权!
0x03 漏洞利用实例
以 Windows 7 为例: 先检查下补丁打了没有:
systeminfo>snowming.txt&(for %i in (KB4525235 KB4525233) do @type snowming.txt|@find /i "%i"|| @echo no this padding: %i)&del /f /q /a snowming.txt
https://leanote.com/api/file/getImage?fileId=5dd7aeabab64414b9f001bdf
没有打补丁,当前用户是 guest。
这个漏洞利用的精髓在于运行的软件,用来触发 UAC 「安全桌面」的软件的 OID 一定要解析为超链接。这样才能触发 consent.exe 以 SYSTEM 权限打开浏览器访问这个链接。并且当然链接要能打开才行。
在目标 Windows 7- vs 2010 机器上,我从我的 C2 下载了 hhupd.exe 软件。
https://leanote.com/api/file/getImage?fileId=5dd5473fab64410bb1001c2c
https://leanote.com/api/file/getImage?fileId=5dd5478dab64410bb1001c2f
Unblock 之后 run as administrator,就能触发 UAC 的安全桌面,查看证书详情:
https://leanote.com/api/file/getImage?fileId=5dd547fdab644109b0001b7f
点击此超链接就能打开浏览器页面,保存:
https://leanote.com/api/file/getImage?fileId=5dd54886ab644109b0001b89
注意我们要在这里通过资源管理器中邮件打开 cmd.exe 程序,这样才能继承浏览器的 SYSTEM 权限。
https://leanote.com/api/file/getImage?fileId=5dd548f9ab64410bb1001c46
在 File name 一栏里输入 C:\Windows\System32*.*,然后
https://leanote.com/api/file/getImage?fileId=5dd549faab64410bb1001c55
cmd.exe → open,提权成功:
https://leanote.com/api/file/getImage?fileId=5dd54ad1ab64410bb1001c61
【温馨提示】提权过程中可能遇到需要翻墙才能打开网页、网页打不开等问题,我试了几台 Windows 7 虚拟机,包括 Windows7 - vs 2017,失败过几次。
参考链接:
- Windows7来宾帐户权限设置及磁盘配额,百度知道
- Object Identifiers,微软官方文档
- CVE-2019-1388 | Windows Certificate Dialog Elevation of Privilege Vulnerability,2019年11月12日
- THANKSGIVING TREAT: EASY-AS-PIE WINDOWS 7 SECURE DESKTOP ESCALATION OF PRIVILEGE,ZERO DAY INITIATIVE,Simon Zuckerbraun,2019年11月19日
- CVE-2019-1388: Windows Privilege Escalation Through UAC,2019年11月19日
其二解析文章
CVE-2019-1388
CVE-2019-1388 | Windows Certificate Dialog Elevation of Privilege Vulnerability 2019年11月12日msrc发布了漏洞,官方的介绍是
An elevation of privilege vulnerability exists in the Windows Certificate Dialog when it does not properly enforce user privileges. An attacker who successfully exploited this vulnerability could run processes in an elevated context. An attacker could then install programs; view, change or delete data. To exploit this vulnerability, an attacker would first have to log on to the system. An attacker could then run a specially crafted application that could exploit the vulnerability and take control of an affected system. The security update addresses the vulnerability by ensuring Windows Certificate Dialog properly enforces user privileges. 如果 Windows 证书对话框没有正确执行用户特权,则存在特权提升漏洞。成功利用此漏洞的攻击者可以在提升的环境中运行进程。然后,攻击者可能会安装程序,查看、更改或删除数据。要利用此漏洞,攻击者首先必须以普通用户权限登录系统。然后攻击者运行一个精心调制的应用,该应用可以利用此漏洞并控制受影响的系统。该安全更新通过确保 Windows 证书对话框正确执行用户特权来解决该漏洞。
影响范围也比较广,从win7到win10,server2008到2016,如果不打补丁都有威胁。 威胁测试名单
漏洞原理
此漏洞是因为 UAC(用户账户控制)机制的设定不严导致的。
默认情况下, Windows 在称为「安全桌面」的单独桌面上显示所有 UAC 提示。提示本身是由名为 consent.exe 的可执行文件生成的,该可执行文件以 NT AUTHORITY\SYSTEM 身份运行并且有 System 的完整性水平。
由于用户可以与此安全桌面的 UI 进行交互,因此有必要对 UI 进行严格限制。否则,低特权用户可能能够通过 UI 操作的路由回路以 SYSTEM 的身份执行操作。甚至看起来无害的单独 UI 功能也可能是导致任意控制的一系列操作的第一步。
另一个需要了解的东西是 OID,如果在运行一个可执行文件的时候我们触发了 UAC,在点击「展示证书发行者的详细信息」这个链接之后:


Issued by(颁发者) 字段,这个字段对应的值就是 OID。
对比一下cmd的证书

OID 为超链接时,通过点击此链接会触发 consent.exe 以 SYSTEM 权限打开浏览器访问此链接,然后此浏览器就会有 SYSTEM 权限。即使该浏览器是作为SYSTEM启动的,但是它仍显示在普通桌面而不是安全桌面上。因此,只有在用户退出所有UAC对话框后,它才变得可见。因此对于攻击者来说,这具有天然的隐藏优势。通过保存该浏览页面,会弹出微软的资源管理器,在资源管理器中邮件打开 cmd.exe 程序,就会继承浏览器的 SYSTEM 权限,由此就完成了由普通用户到 NT AUTHORITY\SYSTEM 用户的提权!
漏洞利用
以 Windows 7 为例: 先检查下补丁情况:
systeminfo>snowming.txt&(for %i in ( KB4525235 KB4525233) do @type micropoor.txt|@find /i "%i"|| @echo %i I can fuck)&del /f /q /a snowming.txt

OID 一定要解析为超链接。这样才能触发 consent.exe 以 SYSTEM 权限打开浏览器访问这个链接。并且当然链接要能打开才行。
demo里给的文件是hhupd.exe,但是我在网上找了半天可用的版本都找不到,最后在群里要到一个可用的exe。
HHUPD.EXE
我们不需要运行这个文件,只需要唤起UAC即可。
双击打开唤起管理员验证的UAC


system权限了,想办法唤起资源管理器即可,我这里是

system权限。


参考资料
CVE-2019-1388 | Windows Certificate Dialog Elevation of Privilege Vulnerability THANKSGIVING TREAT: EASY-AS-PIE WINDOWS 7 SECURE DESKTOP ESCALATION OF PRIVILEGE Lz1y/imggo CVE-2019-1388:通过 UAC 进行 Windows 提权 最新Windows 7安全桌面提权漏洞风险提示与过程披露 jas502n/CVE-2019-1388
自我测试
要求:上3389
低权限test用户




